🎖️GitЯра🎖️
Commit bc7634bd81da3c32259e5ecc82ab0b212e56f6f8
Parents : 212bc59
Author : James Rich <2199651+jamesarich@users.noreply.github.com>
Signature : Signature validation error
Date : 2026-08-12T19:26:30Z
Committer : GitHub <noreply@github.com>
Date : 2026-08-12T19:26:30Z
fix(ui): restore bottom time-axis height at large font scales (#6656)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Changes
1 files changed, 9 insertions(+), 0 deletions(-)
Diff
diff --git a/feature/node/src/commonMain/kotlin/org/meshtastic/feature/node/metrics/CommonCharts.kt b/feature/node/src/commonMain/kotlin/org/meshtastic/feature/node/metrics/CommonCharts.kt
index 65a6a9bfd9..7c5428da99 100644
--- a/feature/node/src/commonMain/kotlin/org/meshtastic/feature/node/metrics/CommonCharts.kt
+++ b/feature/node/src/commonMain/kotlin/org/meshtastic/feature/node/metrics/CommonCharts.kt
@@ -46,11 +46,13 @@ import androidx.compose.ui.draw.clip
import androidx.compose.ui.geometry.Offset
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.StrokeCap
+import androidx.compose.ui.platform.LocalDensity
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.tooling.preview.PreviewLightDark
import androidx.compose.ui.unit.dp
import com.patrykandpatrick.vico.compose.cartesian.axis.Axis
+import com.patrykandpatrick.vico.compose.cartesian.axis.BaseAxis
import com.patrykandpatrick.vico.compose.cartesian.axis.HorizontalAxis
import com.patrykandpatrick.vico.compose.cartesian.data.CartesianValueFormatter
import org.jetbrains.compose.resources.StringResource
@@ -120,9 +122,16 @@ object CommonCharts {
valueFormatter = dynamicTimeFormatter,
itemPlacer = HorizontalAxis.ItemPlacer.aligned(spacing = { 1 }, addExtremeLabelPadding = true),
labelRotationDegrees = LABEL_ROTATION_DEGREES,
+ // Vico caps `Size.Auto` at a fixed 64.dp, which truncates the rotated label above ~1.75x font scale.
+ // `min` is applied after that cap, so it is the only lever that restores the height; it scales with the
+ // font scale because the label is sized in sp.
+ size = BaseAxis.Size.Auto(min = (MIN_HEIGHT_PER_FONT_SCALE_DP * LocalDensity.current.fontScale).dp),
)
private const val LABEL_ROTATION_DEGREES = 45f
+
+ /** Measured need for the rotated label is ~37.2.dp per unit of font scale; 38 leaves a margin. */
+ private const val MIN_HEIGHT_PER_FONT_SCALE_DP = 38f
}
data class LegendData(
Served by rngit 1.5.0 - Generated in 0.04s